package com.jiexin.dao;

import com.jiexin.model.SysDept;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysDeptMapper {
    int deleteByPrimaryKey(@Param("id") Integer id);

    //所有字段都插入
    int insert(SysDept record);

    //没有值的字段不插入，只穿有值字段
    int insertSelective(SysDept record);

    SysDept selectByPrimaryKey(@Param("id") Integer id);

    int updateByPrimaryKeySelective(SysDept record);

    int updateByPrimaryKey(SysDept record);

    //获取当前用户的部门列表
    List<SysDept> getAllDept();

    //获取对应等级下所有子部门，包括子部门的子部门
    List<SysDept> getChildDeptListByLevel(@Param("level") String level);

    //批量更新level
    void batchUpdateLevel(@Param("deptList") List<SysDept> deptList);

    int countByNameAndParentId(@Param("parentId") int parentId, @Param("name") String name, @Param("id") Integer id);

    int countByParentId(@Param("parentId") int parentId);
}